package cmq

import "errors"

type (
	queueRet struct {
		QueueId   string `json:"queueIdd"`
		QueueName string `json:"queueName"`
	}

	TopicRet struct {
		TopicId   string `json:"topicId"`
		TopicName string `json:"topicName"`
	}

	msgId struct {
		MsgId string `json:"msgId"`
	}

	msgInfo struct {
		MsgBody string `json:"msgBody"`
		MsgId   string `json:"msgId"`
	}

	sdkRet struct {
		Code         int         `json:"code"`
		Message      string      `json:"message"`
		RequestId    string      `json:"requestId"`
		QueueId      string      `json:"queueId"`
		TotalCount   int         `json:"totalCount"`
		QueueList    []*queueRet `json:"queueList"`
		ActiveMsgNum int         `json:"activeMsgNum"`

		MsgId         string     `json:"msgId"`
		MsgList       []*msgId   `json:"msgList"`
		MsgBody       string     `json:"msgBody"`
		MsgInfoList   []*msgInfo `json:"msgInfoList"`
		ReceiptHandle string     `json:"receiptHandle"`

		// 主题列表
		TopicList []*TopicRet `json:"topicList"`
		// 订阅列表
		SubscriptionList []*Subscription `json:"subscriptionList"`
	}

	Subscription struct {
		SubscriptionId   string `json:"subscriptionId"`
		SubscriptionName string `json:"subscriptionName"`
		Protocol         string `json:"protocol"`
		Endpoint         string `json:"endpoint"`
	}
)

var QueueIsNotExistErr = errors.New("queue is not Exist")
